476. 数字的补数
为保证权益,题目请参考 476. 数字的补数(From LeetCode).
解决方案1
Python
python
# 476. 数字的补数
# https://leetcode-cn.com/problems/number-complement/
################################################################################
class Solution:
def findComplement(self, num: int) -> int:
hi = 0
for i in range(1, 32):
t = 1 << i
if num & t:
hi = i
mask = (1 << (hi + 1)) - 1
return num ^ mask
################################################################################
if __name__ == "__main__":
solution = Solution()
print(solution.findComplement(1))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22